1. Technical Field
The present invention relates to a system, method, and program product that improves cache mapping for solid state drives. More particularly, the present invention relates to an approach to initially pin an area of the drive to the cache until a metric, such as an initial time period, is reached.
2. Description of the Related Art
In the nonvolatile storage industry, Solid State Drives (SSDs) are an emerging player to traditional spinning platter hard drives. SSDs often provide improved performance, reliability, and power. However, SSDs are currently challenged by lower capacity capabilities and high cost points. In an effort to merge the two technologies, some suppliers using a traditional spinning platter HDD and adding flash memory to the drives printed circuit board assembly (PCBA) to create a drive that is a combination of spinning platter and solid state technology. In essence, the flash memory acts as a large, non-volatile, read cache for the spinning platters. In traditional systems, caching algorithms are used by the HDD to decide what to place inside the flash memory portion of the drive. The overall performance of the drive is dependant on the hit rate of the flash memory cache. A challenge of traditional caching algorithms is that they work better after the system is stabilized (e.g., after the operating system and user applications are loaded) so that the algorithms can better decide what data is most often used by the user and, therefore, what data to maintain in the nonvolatile flash memory cache. Because of this shortcoming of traditional caching algorithms used with solid state drives, these drives and algorithms perform relatively poorly on new systems (e.g., before the operating system and application programs have been loaded and the system has not learned which data files are more frequently used by the customer). This poor “out-of-the-box” performance can lead the customer to believe that the overall system is poor performing and can result in a customer having a negative connotation with the computer system and the system's manufacturer.